#include <boost/algorithm/string.hpp>
#include <string>
#include <vector>
#include <iostream>

int main()
{
    const std::string str = "123:456:789::::520:1314";
    std::vector<std::string> v_str;

    // 参数:
    // v_str : 将分割后的子串放到v_str中
    // str : 需要分割的字符串
    // boost::is_any_of(":") : 是boost::is_any_of参数字符串中的其中一个字符就是分隔符
    // boost::token_compress_on : 压缩，以上面为例，多个分隔符连在一起时，并且它们之间没有其他内容，就不保留
    // boost::token_compress_off : 不压缩，以上面为例，多个分隔符连在一起时，并且它们之间没有其他内容，但还是需要保留
    // boost::split(v_str,str,boost::is_any_of(":"),boost::token_compress_on);
    boost::split(v_str,str,boost::is_any_of(":"),boost::token_compress_off);

    // 分割结果：boost::token_compress_on
    // 123
    // 456
    // 789
    // 520
    // 1314

    // 分割结果：boost::token_compress_off
    // 123
    // 456
    // 789



    // 520
    // 1314
    for(const auto& str : v_str)
    {
        std::cout << str << std::endl;
    }



    return 0;
}